package pers.richard.ormybatis.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.stereotype.Component;

/**
 * Dao类的注解配置
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface DaoConfig {
	
	/**
	 * 默认此属性是数据库表名配置，当不配置此属性时，默认为当前类名删除Dao。
	 */
	String table();
	
	/**
	 * dao类对应的sql mapper xml文件的namespace,默认配置原则同table属性
	 */
	String namespace() default "";
	
	/**
	 *	表的主键字段名
	 */
	String id() default "id";
	
	/**
	 *	SqlSessionFactoryBean的bean name
	 */
	String sqlSessionFactoryBeanName() default "";
	
	
	/**
	 * 字段是否下划线方式命名
	 */
	boolean lowerUnderscore() default true;
}
